package com.yhos.platform.oopston.web.api.dto.zhongtong;

import com.yhos.platform.oopston.core.annotation.NotNullValid;
import com.yhos.platform.oopston.core.dto.BaseOrderCreateRequestDTO;
import com.yhos.platform.oopston.web.api.dto.oopston.OrderSkuCreateRequestApiDTO;
import io.swagger.annotations.ApiModelProperty;

import java.util.List;

public class ZhongTongOrderCreateRequestApiDTO extends BaseOrderCreateRequestDTO {

    @ApiModelProperty(value = "运输方式", required = true)
    @NotNullValid(message = "运输方式不能为空")
    private String shippingMethod;

    @ApiModelProperty(value = "货物类型,W：包裹,D：文件,B：袋子")
    private String cargoType;

    @ApiModelProperty(value = "包裹申报种类,1：Gif礼品,2：CommercialSample 商品货样,3：Document 文件,4：Other 其他,默认4")
    private String mailCargoType;

    @ApiModelProperty(value = "是否需要标识退件退回 (Y,N)")
    private String returnSign;

    @ApiModelProperty(value = "买家ID")
    private String buyerId;

    @ApiModelProperty(value = "产品信息 根据实际发货种类")
    @NotNullValid(message = "产品信息不能为空")
    private List<OrderSkuCreateRequestApiDTO> orderProducts;

    @ApiModelProperty(value = "额外服务")
    private List<ZhongTongOrderExtraServiceRequestApiDTO> extraServices;

    public String getShippingMethod() {
        return shippingMethod;
    }

    public void setShippingMethod(String shippingMethod) {
        this.shippingMethod = shippingMethod;
    }

    public String getCargoType() {
        return cargoType;
    }

    public void setCargoType(String cargoType) {
        this.cargoType = cargoType;
    }

    public String getMailCargoType() {
        return mailCargoType;
    }

    public void setMailCargoType(String mailCargoType) {
        this.mailCargoType = mailCargoType;
    }

    public String getReturnSign() {
        return returnSign;
    }

    public void setReturnSign(String returnSign) {
        this.returnSign = returnSign;
    }

    public String getBuyerId() {
        return buyerId;
    }

    public void setBuyerId(String buyerId) {
        this.buyerId = buyerId;
    }

    public List<OrderSkuCreateRequestApiDTO> getOrderProducts() {
        return orderProducts;
    }

    public void setOrderProducts(List<OrderSkuCreateRequestApiDTO> orderProducts) {
        this.orderProducts = orderProducts;
    }

    public List<ZhongTongOrderExtraServiceRequestApiDTO> getExtraServices() {
        return extraServices;
    }

    public void setExtraServices(List<ZhongTongOrderExtraServiceRequestApiDTO> extraServices) {
        this.extraServices = extraServices;
    }
}
